package com.baicai.baicaiknowledgeai.service;

import com.aliyun.bailian20231229.models.ListIndexDocumentsResponse;
import com.aliyun.bailian20231229.models.RetrieveResponse;
import com.baicai.baicaiknowledgeai.entity.User;

public interface IKnowDiyManageService {

    /**
     * 获取知识库文件列表
     * @param user 当前用户
     * @return 文件列表响应
     */
    ListIndexDocumentsResponse listKnowledgeBaseFiles(User user) throws Exception;

    /**
     * 从知识库中删除文件
     * @param user 当前用户
     * @param fileId 要删除的文件ID
     * @return 是否删除成功
     */
    boolean deleteFileFromKnowledgeBase(User user, String fileId) throws Exception;

    /**
     * 上传文档到知识库
     * @param user 当前用户
     * @param filePath 文件路径
     * @return 上传结果(知识库ID或文件ID)
     */
    String uploadDocumentToKnowledgeBase(User user, String filePath) throws Exception;

    /**
     * 检索知识库内容
     * @param user 当前用户
     * @param query 查询内容
     * @return 检索结果
     */
    RetrieveResponse retrieveKnowledgeContent(User user, String query) throws Exception;
}